This invention relates to a circuit for operating a fuzzy logic.
The fuzzy logic is a logic to handle "fuzziness" which is based on the fuzzy set proposed by L. A. Zadeh in 1965.
The considerations and actions of a human being are generally fuzzy. Therefore, the operation of a machine, with the fuzziness similar to that of a human being cannot be completely achieved by conventional control techniques which do not permit fuzziness.
However, if there is a way to express the fuzziness logically or quantitatively by the fuzzy logic, then the considerations and actions of a human being which have been expressed on the experience or perception, can be automated. Therefore, recently research has been extensively conducted on it.
First, the difference between a conventional set (crisp set) and the fuzzy set will be described with reference to FIGS. 4 and 5.
FIG. 4 is a diagram showing one example of the characteristic function of the conventional set (crisp set).
In the case of the crisp set, a border line or threshold value is provided, and it is determined whether given data is larger or smaller than the threshold value, to determine whether or not the data belongs to a certain set. Accordingly, the case where a given data spreads across the threshold value can not be taken into consideration. That is, the characteristic function can take only "1" (belonging) or "0" (not belonging).
FIG. 4 shows a characteristic function in which the data or element is "stature", and persons who are more than 170 cm tall belong to a set of "taller persons". The functional value "1" means that the data belongs to the set of "taller persons"; and the functional value "0" means that the data does not belong to the set of "taller persons".
The characteristic function of the fuzzy set is called "a membership function". FIG. 5 shows one example of the membership function of the fuzzy set.
In the membership function, the functional value takes not only "1" and "0", but also a value therebetween, for instance, "0.8". The functional value "1" means that the data belongs 100% to the set; the functional value "0.8" means that the data belongs 80% to the set but not 20%; and the functional value "0" means that the data belongs 0% to the set (not belonging to it at all).
Similarly as in FIG. 4, in FIG. 5 the element is "stature".
In this membership function, a functional value "0.2" is provided for a stature of 165 cm, that is, the person who is 165 cm tall belongs 20% to the set of "taller persons"
On the other hand, a functional value "0.8" is provided for a person who is 170 cm tall. This means that the person who is 170 cm tall belongs 80% to the set of "taller persons".
Most of the research on the fuzzy logic is applied to software systems using digital computers, however, it is necessary to use an exclusive hardware system for fuzzy logic operation, in order to process a more intricate system at a high speed.
The hardware system may be formed by digital circuits or analog circuits. However, in view of the combination with a current digital computer, it is preferable to employ digital circuits to form the hardware system.
In the case where a fuzzy logic operation is carried out with a digital circuit, several function values are provided between the functional values "1" and "0", and the membership function is approximated with a step-formed curve (corresponding to the discrete of the membership function), and a digital operation is carried out for each of the functional values or levels. That is, in practice, the processing is carried out with multi-valued data instead of binary data. As the number of functional values is increased, the approximation is increased in precision, and the fuzzy logic operation is also increased in accuracy.
FIG. 6 shows one example of the case where the membership function of the fuzzy set is approximated by providing a plurality of levels. In the case of FIG. 6, the number of levels is eight (0 through 7). In FIG. 6, reference character a designates the membership function; b, step-formed approximation curve; and E.sub.0 through E.sub.10, the values of elements.
The membership function is approximated with the curve b. Therefore, for instance, when the element is E.sub.7, the level is "6" (the corresponding functional value of the membership function being 6/7).
Further, one operation is performed by one exclusive digital circuit. Therefore, a digital circuit which outputs a level of "5" when an element value E.sub.6 is inputted is provided. Similarly, a digital circuit which outputs a level of "4" when an element value E.sub.5 is inputted is provided.
By integrating the above-described operations, the approximation of the membership function is achieved with the digital circuits.
Reference materials for the above-described fuzzy set and membership function are, for instance, Japanese Patent Application (OPI) No. 95673/1987 (the term "OPI" as used herein means an "unexamined published application") and M. Togai and H. Watanabe "A VLSI IMPLEMENTATION OF FUZZY INFERENCE ENGINE: TOWARD AN EXPERT SYSTEM ON A CHIP" Proc. of the 2nd Conf. on Art. Int. Appli., pp. 192-197 Miami Beach, 1985.
The above-described fuzzy logic operation in which the membership function is approximated by providing a plurality of levels, and one exclusive digital circuit is provided for each operation suffers from the following difficulties:
The first difficulty is that, if the number of levels is increased, then the approximation is improved in accuracy; however, it follows that the number of kinds of fuzzy logic operations is increased as much and accordingly the number of exclusive arithmetic circuits is also increased.
The second difficulty resides in that, if the exclusive arithmetic circuits are made up of hardware, then the contents of operation cannot be changed any longer.
The first difficulty will be described in more detail.
FIGS. 7(a) through 7(d) are diagrams showing the fact that, where two levels are provided for input, there are sixteen (16) 2-input 1-output operators (or operation methods).
FIG. 7(a) shows the arrangement of an arithmetic circuit. In FIG. 7(a), reference numeral 70 designates a first input signal line; 71, a second input signal line; 72, the arithmetic circuit; and 73, an output signal line. In this case, two levels; i.e., "0" and "1" are provided for one input. A short line laid across the input signal line 70 and a numeral "1" mean that a 1-bit signal is applied through the signal line. This is applied to the other signal lines in FIG. 7 and to signal lines in the other figures.
FIG. 7(d) shows the combination of the inputs and outputs of the arithmetic circuit. The number of combinations of the first and second inputs are four (4) because each input has two levels (0 and 1). For the four combinations there are provided sixteen (16) output combinations No. 1 through No. 16 as shown in FIG. 7(d).
FIGS. 7(b) and 7(c) show the relationships between input and output in the output combinations No. 6 and No. 12, respectively. For instance, FIG. 7(b) shows the fact that, when the first input over the first input signal line 70 is "0" and the second input over the second input signal line 71 is "1", the output signal line 73 provides an output "1". That is, the arithmetic circuit for performing the operation of No. 6 is designed to operate as described above.
As is apparent from the above description, for two input levels, there are provided sixteen 2-input 1-output operators. Hence, in order to perform any operation, it is fundamentally necessary to provide sixteen exclusive logic circuits.
In general, when the number of input levels is n, there are n.sup.n.spsp.2 2-input 1-output operators. For instance, with n=3, the number of 2-input 1-output operators is 19,683, and it is necessary to provide 19,683 exclusive logic circuits. Thus, in a fuzzy logic operation in which the number of levels is infinite, it is necessary to provide an extremely large number of exclusive logic circuits.
Now the second difficulty will be described in more detail.
Recently, extensive research has been conducted on the fuzzy logic, and there is a high possibility of developing and utilizing a number of useful fuzzy logic operations. In this connection, there has been a demand for provision of a fuzzy logic circuit which is so flexible that the contents of operation can be readily changed.
However, the demand cannot be filled by the above-described exclusive arithmetic circuit which cannot change the contents of operation when made up of hardware.